items:
    - name: allowed-annotations
      path: metadata.annotations
      value: .*
      kind: Pod
      apiVersion: v1

    - name: allowed-name
      path: metadata.name
      value: .*
      kind: Pod
      apiVersion: v1

    - name: allowed-containers
      apiVersion: v1
      kind: Pod
      path: spec.containers[*]
      value: .*

    - name: allowed-volumes
      apiVersion: v1
      kind: Pod
      path: spec.volumes[*]
      value: .*

    - name: disallowed-volumes-hostPath
      apiVersion: v1
      kind: Pod
      path: spec.volumes[*].hostPath
      value: ^$

    - name: disallowed-volumes-secret
      kind: Pod
      apiVersion: v1
      path: spec.volumes[*].secret
      value: ^$

    - name: disallowed-env-secret
      apiVersion: v1
      kind: Pod
      path: spec.containers[*].env[*].valueFrom.secretKeyRef
      value: ^$

    - name: disallowed-envFrom-secret
      apiVersion: v1
      kind: Pod
      path: spec.containers[*].envFrom[*].secretRef
      value: ^$

    - name: allowed-volumes-configmap-name
      apiVersion: v1
      kind: Pod
      path: spec.containers[?name=="test1"].image
      value: imagefromtemp

    - name: disallowed-env-secret #запрещаем мутировать в окружении secretKeyRef (т е проверяем что в сформированном при мутации объекте поиск по пути из path выдаст пустое значение)
      path: spec.containers[*].env[*].valueFrom.secretKeyRef.name
      value: ^$ #рег выр соответствующее логическому ISNULL
      kind: Pod
      apiVersion: v1

    - name: allowed-volumes-annotations-name
      path: metadata.annotations|keys(@)
      value: (agent-inject|micro|annot)     # разрешены только указанные имена аннотаций
      kind: Pod
      apiVersion: v1

    - name: allowed-volumes-configmap-name
      apiVersion: v1
      kind: Pod
      path: spec.volumes[*].hostPath.path
      value: (/data|/datassss|Directory)
